<?php
/**
 * 构建车辆 指挥类
 * 2019年12月5日18:09:10
 * [关键]备注：按照 建造者模式-象内部构建间的建造顺序通常是稳定的 的相关定义需要把 车辆的构建init 也交给 本指挥类来实现；但是为了实现一种不太稳定的构建-比如动态增加车辆的行李箱，所以车辆的构建也交给了类本身实现；但这些都不影响 建造者模式 的介绍
 */
namespace Application\Common\Builder;

class VehicleDirector
{
    // 车辆类-实例对象
    protected $vehicle;
    // 构造函数-传入车辆对象
    public function __construct($vehicle)
    {
        $this -> vehicle = $vehicle;
    }
    // 构建车辆
    public function createVehicle()
    {
        $this -> vehicle -> init();
    }
    // 展示车辆
    public function showVehicle()
    {
        return $this -> vehicle -> display();
    }
}
